// pages/buyingrefund/buyingrefund.js
import Toast from '../../miniprogram_npm/_vant-weapp@0.5.7@vant-weapp/toast/toast';//引用弹窗样式
import { getRefundMain, setReundSubmit, uploader, setRefundCancel } from '../../config/https'; // 售后页面 , 提交申请售后 ，上传图片,取消售后

const app = getApp()
Page({

  /**
   * 页面的初始数据a
   */
  data: {
    order:'',             //商品信息
    teamid:'',            
    orderid:'',     
    placeholder: '请您在此处描述详细问题',
    radiotext: [],        //单选框
    imgbox: [],           //添加的照片
    imgboxto: [],          //图片上传返回的图片链接
    ison: true,            //没有照片隐藏
    show: false,          //弹出层
    contener: "请选择",     //请选择
    id: '',                //此项商品id
    afterSales: [],        //接收退款数据
    goods: [],             //产品数据
    navBack: false,
    value: ''             //退款详细说明
  },

  iptval(e) {  //退款详细说明
    this.setData({ value: e.detail.value })
  },
  onClick(e) {//单选框
    //console.log(e)
    const index = e.currentTarget.dataset.index;//获取单选项的下标
    const { text } = e.currentTarget.dataset;//获取name
    this.setData({ radio: index, contener: text }); //radio选中的name
    this.setData({ show: false });
  },
  //点击分享
  onClose() { 
    let show = !this.data.show;
    this.setData({ show: show });
  },

  //点击关闭
  btn2() {
    this.setData({ show: false, contener: "请选择", radio: "" });//点击关闭 取消选项
  },

  //-------------------------------------------------------------------- 
  //上传图片
  chooseimage() {
    var this_ = this;
    let imgboxto = this_.data.imgboxto;
    wx.chooseImage({ //从本地相册选择图片或使用相机拍照。
      count: 9, //上传图片的最大值
      sizeType: ['original', 'compressed'], //指定是原图还是压缩图 
      sourceType: ['album', 'camera'], // 指定是相册选图,还是使用相机
      success: function (res) { //成功回调
        let imgbox = this_.data.imgbox;//获取data里面的图片空数组
        for (let i in res.tempFiles) {
          if (imgbox.length < 9) {
            imgbox.push(res.tempFiles[i].path)//把图片的地址添加进data图片数组
            //上传图片接口
            wx.uploadFile({
              url: 'https://jxzmys.com/app/index.php?i=2&c=entry&m=jrshop&do=mobile&r=util.uploader&file=file',
              // url: app.globalData.upImage,
              filePath: res.tempFiles[i].path,
              name: 'file',
              method: 'POST',
              // header: {
              //   'content-type': 'application/json',
              //   Authorization: app.globalData.userInfo,
              //   Accept: app.globalData.Accept
              // },
              formData: {
                'user': 'test'
              },
              success(res) { //上传成功
                console.log(res)
                let dataPath = JSON.parse(res.data) //成功返回的数据  把字符串转换成json对象格式  
                imgboxto.push(dataPath.filename)
                this_.setData({ imgboxto })
              }, fail(err) { //上传失败
                console.log("上传失败")
              },
            })
            this_.setData({ imgbox })//最后赋值
          } else if (imgbox.length >= 9) {
            return;
          }
        }

      }
    })
  },

  //预览图片
  ckimg(e) { 
    var src = e.target.dataset.src;//当前图片的地址
    wx.previewImage({ //预览图片的函数
      current: src, // 当前显示图片的http链接  
      urls: this.data.imgbox // 需要预览的图片http链接列表  
    })
  },

  //删除图片
  sanc(e) {
    var index = e.target.dataset.index;//当前图片的地址
    let imgbox = this.data.imgbox;//获取data里面的图片数组
    imgbox.splice(index, 1)//然后删除当前imgbox数组的这一项
    this.setData({ imgbox })
  },

  //-------------------------------------------------------------------- 
  //点击提交按钮时
  submit() {
    let this_ = this;
    let imgbox = this_.data.imgbox; //要上传的图片
    let imgboxto = this_.data.imgboxto; //上传图片返回的图片链接数组
    if (this.data.contener == "请选择") {
      Toast("请选择退款原由")
    } else if (this.data.value == '') {
      Toast("请描述退款详情")
    } else {
      setReundSubmit({//提交申请售后数据
        orderid: this_.data.orderid, 
        teamid: this_.data.teamid, 
        rtype: 0,          //退款类型
        reason: this_.data.contener, //退款原因
        content: this_.data.value,          //退款详细说明
        images: imgboxto,                     //退款详情图片 数组类型
        price: this_.data.afterSales.refund_price, //退款金额 
      }).then((res) => { //成功
        Toast("提交成功")
        let interval = setInterval(() => {
          let num = 1;
          num--;
          if (num == 0) {
            wx.navigateBack({
              delta: 1
            })
            clearInterval(interval)
          }
        }, 1000)
      })
    }
  },

  //-------------------------------------------------------------------- 
  applyForArefund() {   //退款、售后 商品数据
    getRefundMain({
      orderid: this.data.orderid,
      teamid: this.data.teamid,
    }).then((res) => {
      console.log(res)
      this.setData({ radiotext: res.reason_arr, goods: res.goods, afterSales: res,order:res.order })
    })
  },
  //-------------------------------------------------------------------- 
  onLoad: function (options) {     /*生命周期函数--监听页面加载*/
    this.setData({ orderid: options.orderid, teamid: options.teamid }) //数据id
    this.applyForArefund() //退款、售后 商品数据
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }

});